{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 可视化三维样本数据点的PCA过程"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from mpl_toolkits import mplot3d\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 在三维空间随机生成100个样本点\n",
    "np.random.seed(8888)\n",
    "X_random = np.random.random(size=(100, 3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = plt.axes(projection='3d')\n",
    "ax.scatter3D(X_random[:,0], X_random[:,1], X_random[:,2])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### demean"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def demean(X):\n",
    "    return X - np.mean(X, axis=0)\n",
    "\n",
    "X_demean = demean(X_random)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'X' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-4-94562e6c5eae>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0max\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0maxes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mprojection\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'3d'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscatter3D\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      3\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mNameError\u001b[0m: name 'X' is not defined"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = plt.axes(projection='3d')\n",
    "ax.scatter3D(X[:,0], X[:,1], X[:,2])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### PCA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def f(w, X):\n",
    "    return np.sum((X.dot(w)**2)) / len(X)\n",
    "\n",
    "def df(w, X):\n",
    "    return X.T.dot(X.dot(w)) * 2. / len(X)\n",
    "\n",
    "def direction(w):\n",
    "    return w / np.linalg.norm(w)\n",
    "\n",
    "def first_component(X, initial_w, eta, n_iters = 1e4, epsilon=1e-8):\n",
    "    \n",
    "    w = direction(initial_w) \n",
    "    cur_iter = 0\n",
    "\n",
    "    while cur_iter < n_iters:\n",
    "        gradient = df(w, X)\n",
    "        last_w = w\n",
    "        w = w + eta * gradient\n",
    "        w = direction(w) \n",
    "        if(abs(f(w, X) - f(last_w, X)) < epsilon):\n",
    "            break\n",
    "            \n",
    "        cur_iter += 1\n",
    "\n",
    "    return w"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "initial_w = np.random.random(X.shape[1])\n",
    "eta = 0.01\n",
    "w1 = first_component(X, initial_w, eta) \n",
    "w1 # 求出第一主成分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 将原来的所有样本点X去除在第一主成分上的分量，得到X2\n",
    "X2 = np.empty(X_demean.shape)\n",
    "for i in range(len(X)):\n",
    "    X2[i] = X[i] - X[i].dot(w1) * w1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 绘制X2，此时，X2的所有样本点分布在一个平面上\n",
    "ax = plt.axes(projection='3d')\n",
    "ax.scatter3D(X2[:,0], X2[:,1], X2[:,2])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "w2 = first_component(X2, initial_w, eta)\n",
    "w2 # 求出第二主成分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 将X2去除在第二主成分上的分量，得到X3\n",
    "X3 = np.empty(X2.shape)\n",
    "for i in range(len(X)):\n",
    "    X3[i] = X2[i] - X2[i].dot(w2) * w2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 绘制X3，此时，X3的所有样本点分布在一条直线上\n",
    "ax = plt.axes(projection='3d')\n",
    "ax.scatter3D(X3[:,0], X3[:,1], X3[:,2])\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
